Linux 的文件系统

        搞计算机的应该都知道windows的系统格式化硬盘时会指定格式,fat 或者 ntfs。而 linux的文件系统格式为Ext3,或者Ext4 。早期的linux使用Ext2格式,目前的linux都使 用了Ext3, 而CentOS6已经使用了Ext4. Ext2文件系统虽然是高效稳定的。但是,随着 Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了,因为Ext2文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱点。Ext3文件系统是直接从 Ext2文件系统发展而来,Ext3文件系统带有日志功能,可以跟踪记录文件系统的变化,并将变化内容写入日志,写操作首先是对日志记录文件进行操作,若整个写操作由于某种原因 (如系统掉电) 而中断,系统重启时,会根据日志记录来恢复中断前的写操作,而且这个过程费时极短。目前Ext3文件系统已经非常稳定可靠。它完全兼容Ext2文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是ext3日志文件系统初始设计的初衷。

        而现在我们使用的Ext4文件系统,较Ext3文件系统又有很多好的特性,最明显的特征是,Ext4支持的最大文件系统容量和单个最大文件大小,详细的区别阿铭不再介绍,这需要你到网上搜一下以丰富你的知识点。

        Linux文件系统在windows中是不能识别的,但是在linux系统中你可以挂载的windows的文件系统,linux目前支持MS-DOS,VFAT,FAT,BSD等格式,如果你使用的是Redhat或者CentOS,那么请不要妄图挂载NTFS格式的分区到linux下,因为它不支持NTFS。虽然有些版本的linux支持NTFS,但不建议使用,因为目前的技术还不成熟。但有时,的确会有这方面 的需求,你可以安装ntfs-3g软件包来解决这个问题。

        Ext3文件系统为早期版本Redhat/CentOS默认使用的文件系统,目前Ext4为默认文件系统,除了Ext3/Ext4文件系统外,有些linux发行版例如SuSE默认的文件系统为reiserFS, Ext3 独特的优点就是易于转换,很容易在 Ext2 和 Ext3 之间相互转换,而具有良好的兼容性,其它优点 ReiserFS 都有,而且还比它做得更好。如高效的磁盘空间利用和独特的搜寻方式都是Ext3 所不具备的,速度上它也不能和 ReiserFS相媲美,在实际使用过程中,reiserFS 也更加安全高效,据说反删除功能也不错。

        ReiserFS 的优势在于,它是基于 B*Tree 快速平衡树这种高效算法的文件系统,例如在处理小于 1k 的文件比 Ext文件系统快10倍。再一个就是ReiserFS空间浪费较少,它不会对一些小文件分配 inode,而是打包存放在同一个磁盘块 (簇) 中,Ext是把它们单独存放在不同的簇上,如簇大小为 4k,那么 2 个 100 字节的文件会占用 2 个簇,ReiserFS则只占用一个。当然ReiserFS也有缺点,就是每升级一个版本,都要将磁盘重新格式化一次。